<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>DebugWIRE</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/DebugWIRE"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-DebugWIRE rootpage-DebugWIRE skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">debugWIRE</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>debugWIRE</b> ist ein <a href="Serielle_Daten%C3%BCbertragung" title="Serielle Datenübertragung">serielles</a> Kommunikationsprotokoll, das vom Prozessorhersteller <a href="Atmel" title="Atmel">Atmel</a> entwickelt wurde. Es wird für die Programmierung und <a href="Debugger" title="Debugger">Fehlersuche</a> bei <a href="Atmel_AVR" class="mw-redirect" title="Atmel AVR">Atmel AVR</a> <a href="Microcontroller" class="mw-redirect" title="Microcontroller">Microcontrollern</a> eingesetzt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Protokoll">Protokoll</h2></div>
<p>Das <a href="Propriet%C3%A4r" title="Proprietär">proprietäre</a> debugWIRE-Protokoll ist als einfache Alternative zu <a href="JTAG" class="mw-redirect" title="JTAG">JTAG</a> gedacht und wird bei Prozessoren mit begrenzten Ressourcen – speziell wenigen Anschlusspins – eingesetzt; die meisten modernen 8-bit-Prozessoren von AVR unterstützen das Protokoll. debugWIRE erlaubt vollen Lese- und Schreibzugriff auf den Speicher und die Überwachung des Programmflusses. Dabei können nur die Aktionen durchgeführt werden, die auch bei normalem Programmablauf möglich sind. <a href="Haltepunkt_(Programmierung)" title="Haltepunkt (Programmierung)">Breakpoints</a> werden durch Einfügen eines Break-<a href="Opcode" title="Opcode">Opcodes</a> (0x9598)<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> gesetzt, dies erfolgt durch jeweilige Neuprogrammierung des <a href="Flash-Speicher" title="Flash-Speicher">Flash-Speichers</a>, der jedoch nur eine begrenzte Zahl von Schreibzyklen zulässt (garantiert 10000)<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Programmiergeräte"><span id="Programmierger.C3.A4te"></span>Programmiergeräte</h2></div>
<p>debugWIRE wird von allen aktuellen Atmel-<a href="Debugger" title="Debugger">Debuggern</a> unterstützt, wie z. B. Atmel-ICE, JTAGICE mkII, JTAGICE3 und AVR Dragon.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Protokoll-Spezifikation">Protokoll-Spezifikation</h2></div>
<p>debugWIRE kann durch Programmieren des <a href="Fuse-Bit" title="Fuse-Bit">Fuse-Bits</a> DWEN (debugWIRE enable) aktiviert werden, das sich im „High-Fuse-Byte“ befindet. Danach ist die /RESET-Funktion nicht mehr verfügbar und die Programmierung über <a href="In-System-Programmierung" title="In-System-Programmierung">ISP</a> ist nicht mehr möglich. Die Programmierung der Fuse-Bits kann nicht über debugWIRE erfolgen, dazu muss die debugWIRE-Funktion durch ein Kommando temporär abgeschaltet werden, um mit dem Debugger erneut per ISP zugreifen zu können. Dies erfolgt bei Verwendung des Entwicklungssystems <i>Atmel-Studio</i> transparent für den Anwender.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
debugWIRE benutzt serielle Kommunikation über eine Ein-Draht-Leitung mit <a href="Open-Collector-Ausgang" title="Open-Collector-Ausgang">Open-Drain</a>-Ankopplung. Die Standard-Taktrate ist 1/128 des Prozessortaktes. Eingeleitet wird die Kommunikation durch Senden des Break-Zustandes (alle Bits 0), als Antwort sendet der zu testende Prozessor das Byte 0x55, das aus abwechselnd Null- und Eins-Pegeln besteht. Dies erlaubt dem Debugger eine einfache Identifizierung der Taktrate.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_BREAK.html">AVR Assembler Instructions</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf">ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf </a></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.atmel.com/webdoc/avrdragon/avrdragon.dw_description.html">debugWIRE-Interface des AVR Dragon</a></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.mikrocontroller.net/articles/DebugWIRE">debugWIRE-Artikel</a></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.ruemohr.org/docs/debugwire.html">The debugWIRE protocol (Englisch)</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/dcwbrown/dwire-debug">Simple stand-alone debugWIRE debugger (open source)</a></span>
</li>
</ol>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=4sMhRCOQCC0">Advanced Debugging (Vortrag auf Englisch)</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-06-15" href="https://de.wikipedia.org/wiki/?title=DebugWIRE&oldid=256995538">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>